package day05;

import java.util.HashMap;
import java.util.Map;

/**
 * 有下列字符串:
 * 销售:张三;财务:李四;销售:王五;财务:赵六;程序:mike;程序:jerry;美工:jackson;前端:green;前端:nick;程序:钱七;销售:alice
 * 分析上述字符串然后统计每个职位总共多少人?
 * 使用Map保存统计的结果，其中key:职位,value为该职位人数
 * 然后分别输出各职位的名称(keySet),各职位人数(entrySet)
 * @author Bonnie
 *
 */
public class Test05 {
    public static void main(String[] args) {
        // * 销售:张三;财务:李四;销售:王五;财务:赵六;程序:mike;程序:jerry;美工:jackson;前端:green;前端:nick;程序:钱七;销售:alice
        // * 分析上述字符串然后统计每个职位总共多少人?
        // * 使用Map保存统计的结果，其中key:职位,value为该职位人数
        Map<String, Integer> map = new HashMap<>();
        String str = "销售:张三;财务:李四;销售:王五;财务:赵六;程序:mike;程序:jerry;美工:jackson;前端:green;前端:nick;程序:钱七;销售:alice";
        String[] strings = str.split(";");
        for (String s : strings){
            String substring = s.substring(0, s.lastIndexOf(":"));
            /*
                方式一：自主判断
             */
//            if (map.get(substring) == null){
//                //还未存在该职位
//                map.put(substring, 1);
//            }else {
//                //已存在该职位
//                map.put(substring, map.get(substring) + 1);
//            }
            /*
                方式二：用map自带的方法
             */
            map.merge(substring, 1, Integer::sum);
        }
        // * 然后分别输出各职位的名称(keySet),各职位人数(entrySet)
        System.out.println(map.keySet());
        System.out.println(map.entrySet());
    }
	 
}
